package cn.com.chengmandian.xh.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 会员支付流水表
 * </p>
 *
 * @author AutoGenerator
 */
@Getter
@Setter
@TableName("xh_member_pay")
@ApiModel(value = "XhMemberPay对象", description = "会员支付流水表")
public class XhMemberPay implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("支付流水号")
    private String payNo;

    @ApiModelProperty("店铺Id")
    private Integer shopId;

    @ApiModelProperty("网点ID")
    private Integer siteId;

    @ApiModelProperty("用户id")
    private Integer memberId;

    @ApiModelProperty("订单号(mini生成)")
    private String orderNo;

    @ApiModelProperty("1.微信支付 2.支付宝支付 3.线下付款 4余额支付")
    private Integer orderPayType;

    @ApiModelProperty("操作类型: 1.押金2.套餐3.余额4.救援 5租赁 6退租赔偿 7 套餐过期罚金 8回购余额增加 9换电拼团 10商城订单")
    private Integer payType;

    @ApiModelProperty("操作标识:  0(+). 1(-)")
    private Integer payStatus;

    @ApiModelProperty("支付渠道")
    private String payChannel;

    @ApiModelProperty("支付金额")
    private BigDecimal payMoney;

    @ApiModelProperty("微信支付订单号(wx)")
    private String transactionId;

    @ApiModelProperty("商户订单号(wx)")
    private String outTradeNo;

    @ApiModelProperty("交易类型")
    private String tradeType;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新时间")
    private Date modifyTime;

    @ApiModelProperty("微信支付通知-用户支付金额(单位:分)")
    private BigDecimal payerTotal;

    @ApiModelProperty("1.支付中,2.已完成.3支付失败.4.支付退还完成")
    private Integer payTypes;

    @ApiModelProperty("支付完成时间")
    private Date successTime;

    @ApiModelProperty("商户退款单号")
    private String outRefundNo;

    @ApiModelProperty("微信支付退款号")
    private String refundId;

    @ApiModelProperty("退款给用户的金额，不包含所有优惠券金额")
    private BigDecimal payerRefund;

    @ApiModelProperty("退款入账账户(取当前退款单的退款入账方，有以下几种情况：	1）退回银行卡：{银行名称}{卡类型}{卡尾号}	2）退回支付用户零钱：支付用户零钱	3）退还商户：商户基本账户商户结算银行账户	4）退回支付用户零钱通：支付用户零钱通。	示例值：招商银行信用卡0403)")
    private String userReceivedAccount;

    @ApiModelProperty("退款完成时间")
    private Date refundSuccessTime;

    @ApiModelProperty("退款结果1、成功，2、失败")
    private Integer refundResult;

    @ApiModelProperty("退款状态(退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往商户平台-交易中心，手动处理此笔退款。	枚举值：	SUCCESS：退款成功	CLOSED：退款关闭	PROCESSING：退款处理中	ABNORMAL：退款异常	示例值：SUCCESS)")
    private String refundStatus;

}
